<!-- 设备告警 -->

<template>
  <div v-if="content" class="DeviceAlarm">
    <BtnText v-if="id" title="查看详情" red small @click="windowDetail(id)" />

    <div class="ellips">
      最近{{ CORE.MAP.ALARM }}： <span>{{ content }}</span>
    </div>
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import mixDetailToTable from '@admin/components/detail/mixDetailToTable'
import props from './props'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'DeviceAlarm',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [mixDetailToTable('', 'DetailAlarm')],

  /**
   * 属性注册 (抽取以便查阅)
   */
  props,

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 弹窗父组件
     */
    parentModal() {
      return CORE.componentParent(this, 'ElDialog')
    },
  },

  /**
   * 监听属性 (深度 deep 首次 immediate)
   */
  watch: {
    /**
     * 监听
     */
    content(content) {
      const { $el = {} } = this.parentModal || {}
      const name = ' SecureModal-has-alarm'
      $el.className = content ? `${$el.className}${name}` : $el.className.replace(name, '')
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 刷新列表
     */
    refreshList() {
      this.$emit('change')
    },
  },
}
</script>

<style lang="scss">
@import './index.scss';
</style>
